Learning control apparatus, learning control method, and computer program

ABSTRACT

A learning control apparatus for an autonomous agent including a functional module having a function of multiple inputs and multiple outputs, the function receiving at least one variable and outputting at least one value, includes an estimating unit for estimating a causal relationship of at least one variable, a grouping unit for grouping at least one variable into a variable group in accordance with the estimated causal relationship, a determining for determining a behavior variable corresponding to each of the variable groups, and a layering unit for layering, in accordance with the variable group and the behavior variable, the function corresponding to each variable group, the function receiving the variable grouped into the variable group and outputting the behavior variable.

CROSS REFERENCES TO RELATED APPLICATIONS

The present invention contains subject matter related to Japanese Patent Application JP 2005-047491 filed in the Japanese Patent Office on Feb. 23, 2005, and Japanese Patent Application JP 2005-169458 filed in the Japanese Patent Office on Jun. 9, 2005, the entire contents of which are incorporated herein by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a learning control apparatus, a learning control method, and a computer program. More particularly, the present invention relates to a learning control apparatus, a learning control method, and a computer program for an autonomous learning agent having multiple dimensional variables (sensor input, internal state, and motor output), the autonomous learning agent estimating a causal relationship between variables based on learning of a predictor, and automatically determining the number of controllers, functions, and input and output variables based on the estimated causal relationship in order to automate modularization and layering of the controllers.

2. Description of the Related Art

Structure of an autonomous agent using reinforcement learning is disclosed by Richard S. Sutton, and Andrew G. Barto in the book entitled “Reinforcement Learning: An Introduction” MIT Press, 1998. Experience-reinforced autonomous agent is disclosed by Jun Tani in the paper entitled “Learning to generate articulated behavior through the bottom-up and the top-down interaction processes”, Neural Networks, Vol. 16, No. 1, pp. 11-23, 2003. In these disclosed techniques, input and output variables of a learner are manually selected by humans who take into consideration a task to be solved and an expected behavior.

As for multi-degree-of-freedom agent, if a task and input and output variables are determined during design phase, learning capability of the agent is limited from the design phase. The known techniques are thus subject to serious problem in the construction of an open-ended autonomous agent.

If all conceivable sensor and motor variables are used as inputs and outputs to solve the manual selection problem, performance in individual task and expected behavior is affected. This is well known as curse of dimensionality in the field of machine learning (as disclosed by R. E. Bellman, in the book entitled “Dynamic Programming” Princeton University Press, Princeton. 6: 679-684).

To overcome this problem, an autonomous agent is segmented in a plurality of functional modules in learning. However, this process leads to two new problems which do not exist if learning is performed with a single functional module.

A first problem is how to determine the number of functional modules and the degree of freedom of each module (a quantity for determining how complex structure one module is allowed to have). A second problem is how a link between modules is determined.

MOSAIC disclosed in Japanese Unexamined Patent Application Publication No. 2000-35804 is interesting in terms of function modularization. However, each module needs to handle all variables as inputs and outputs, and MOSAIC thus fails to overcome the two new problems. To overcome the two new problems, humans need to design beforehand a link with the functions of the modules. MOSAIC remains unchanged from a design approach incorporated in the known autonomous agent.

SUMMARY OF THE INVENTION

To overcome the drawback of MOSAIC, it is contemplated to automatically learn the function of each functional module and the link thereof. In such a case, a method of determining the number of modules and the complexity of each module is not known, and there is room for human intervention. Any case that a plurality of tasks and a plurality of expected behaviors are additionally learned in a non-destructive fashion has never been reported.

According to brain science, neural science, and psychology, humans are believed to have modularity of function (localized function). There is an argument that some modularity and layer structure be introduced in learning of artificial autonomous agent. No complete methods to link and integrate modules and layers have not been established as disclosed by G. Taga in the book entitled “Dynamic design of brain and body, and non-linear dynamics and development of motion and perception,” Kanekoshobo, 2002.

It is thus desirable to provide an autonomous learning agent having multiple dimensional variables (sensor input, internal state, and motor output), the autonomous learning agent estimating a causal relationship between variables based on learning of a predictor, and automatically determining the number of controllers, functions, and input and output variables based on the estimated causal relationship in order to automate modularization and layering of the controllers.

A learning control apparatus of one embodiment of the present invention includes an estimating unit for estimating a causal relationship of at least one variable, a grouping unit for grouping at least one variable into a variable group in accordance with the estimated causal relationship, a first determining unit for determining a behavior variable corresponding to each of the variable groups, and a layering unit for layering, in accordance with the variable group and the behavior variable, the function corresponding to each variable group, the function receiving the variable grouped into the variable group and outputting the behavior variable.

The learning control apparatus further includes a second determining unit for determining a state variable corresponding to each variable group.

A learning control method of another embodiment of the present invention includes steps of estimating a causal relationship of at least one variable, grouping at least one variable into a variable group in accordance with the estimated causal relationship, determining a behavior variable corresponding to each of the variable groups, and layering, in accordance with the variable group and the behavior variable, the function corresponding to each variable group, the function receiving the variable grouped into the variable group and outputting the behavior variable.

A computer program of another embodiment of the present invention includes steps of estimating a causal relationship of at least one variable, grouping at least one variable into a variable group in accordance with the estimated causal relationship, determining a behavior variable corresponding to each of the variable groups, and layering, in accordance with the variable group and the behavior variable, the function corresponding to each variable group, the function receiving the variable grouped into the variable group and outputting the behavior variable.

In accordance with embodiments of the present invention, the causal relationship of at least one variable is estimated. At least one variable is grouped into variable groups in accordance with the estimated causal relationship. The behavior variable corresponding to the variable group is determined. The function corresponding to each variable group is layered in accordance with the variable group and the behavior variable, the function receiving the variable grouped into the variable group and outputting the behavior variable.

In accordance with embodiments of the present invention, an autonomous learning agent having multiple dimensional variables (sensor input, internal state, and motor output), estimates a causal relationship between variables based on learning of a predictor, automatically determines the number of controllers, functions, and input and output variables based on the estimated causal relationship, and automates designing of modularization and layering of the controllers.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an autonomous agent;

FIG. 2 illustrates an internal state of the autonomous agent;

FIG. 3 is a block diagram of the internal structure of the autonomous agent;

FIG. 4 is a causal block diagram of the autonomous agent;

FIG. 5 illustrates an algorithm for generating a variable group;

FIG. 6 is a causal diagram subsequent to grouping variables;

FIG. 7 illustrates a behavior variable corresponding to a variable to be controlled (variable group);

FIG. 8 illustrates a behavior variable corresponding to a variable to be controlled (variable group);

FIG. 9 illustrates a controller that is modularized and layered by an autonomous controller;

FIG. 10 is a flowchart illustrating a process of the autonomous controller;

FIG. 11 is a flowchart illustrating a process in step S3 of FIG. 10;

FIG. 12 illustrates the structure of a known controller; and

FIG. 13 is a block diagram illustrating a general-purpose personal computer.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

Before describing an embodiment of the present invention, the correspondence between the features of the claims and the specific elements disclosed in an embodiment of the present invention is discussed below. This description is intended to assure that embodiments supporting the claimed invention are described in this specification. Thus, even if an element in the following embodiments is not described as relating to a certain feature of the present invention, that does not necessarily mean that the element does not relate to that feature of the claims. Conversely, even if an element is described herein as relating to a certain feature of the claims, that does not necessarily mean that the element does not relate to other features of the claims.

Furthermore, this description should not be construed as restricting that all the aspects of the invention disclosed in the embodiments are described in the claims. That is, the description does not deny the existence of aspects of the present invention that are described in the embodiments but not claimed in the invention of this application, i.e., the existence of aspects of the present invention that in future may be claimed by a divisional application, or that may be additionally claimed through amendments.

A learning control apparatus (for example, an autonomous controller 36 of FIG. 3) of one embodiment of the present invention includes an estimating unit (for example, a predictor learner 41 of FIG. 3) for estimating a causal relationship of at least one variable, a grouping unit (for example, a variable group generator 42 of FIG. 3) for grouping at least one variable into a variable group in accordance with the estimated causal relationship, a first determining unit (for example, a behavior variable determiner 43 of FIG. 3) for determining a behavior variable corresponding to each of the variable groups, and a layering unit (for example, a layering unit 45 of FIG. 3) for layering, in accordance with the variable group and the behavior variable, the function corresponding to each variable group, the function receiving the variable grouped into the variable group and outputting the behavior variable.

The learning control apparatus further includes a second determining unit (for example, a state variable determiner 44 of FIG. 3) for determining a state variable corresponding to each variable group.

A learning control method of another embodiment of the present invention includes steps of estimating a causal relationship of at least one variable (for example, in step S1 of FIG. 10), grouping at least one variable into a variable group in accordance with the estimated causal relationship (for example, in step S2 of FIG. 10), determining a behavior variable corresponding to each of the variable groups (for example, in step S3 of FIG. 10), and layering, in accordance with the variable group and the behavior variable, the function corresponding to each variable group (for example, in step S5 of FIG. 10), the function receiving the variable grouped into the variable group and outputting the behavior variable.

A computer program of one embodiment of the present invention includes the same elements as the above-referenced learning control method, and the discussion thereof is omitted herein.

The embodiments of the present invention are described below with reference to the drawings.

FIG. 1 illustrates a configuration of an autonomous agent 1 in accordance with one embodiment of the present invention. The autonomous agent 1 is a simple robot having a single joint, and a link 11 rotated with torque τ applied to the joint. The autonomous agent 1 detects, as inputs, an angle θ and an angular velocity ω of the link 11, and outputs the torque τ applied to the joint. Gravity (in a direction of θ=0) is also present in an environment containing the autonomous agent 1. Torque τ that can be applied is weaker than the force of gravity. Even if a maximum torque τ_(max) is applied in one direction, the autonomous agent 1 is neither lifted nor moved.

The autonomous agent 1 contains energy E and lactic acid L as variable representing internal states as shown in FIG. 2. The energy E is consumed (decreased) in proportion to a developed torque τ. When the link 11 reaches a predetermined position θ_(E) where a bait 21 of the autonomous agent 1 is placed, the energy E increases by a predetermined amount. The lactic acid L increases in proportion to the consumed energy E while being reduced constantly by a small amount as a result of decomposition at the same time. The autonomous agent 1 becomes unable to develop torque τ when the energy E is fully consumed or when the lactic acid L is maximized.

FIG. 3 illustrates an internal structure of the autonomous agent 1.

A torque generator 31 includes a motor and moves the link 11 by developing torque (rotation moment) τ, and notifies an autonomous controller 36 of the developed torque τ. The angle detector 32 detects an angle θ made by the link 11 with respect to a vertically aligned line, and notifies the autonomous controller 36 of the detected angle θ. An angular velocity detector 33 detects an angular velocity ω of the link 11 and notifies the autonomous controller 36 of the detected angular velocity ω. An energy level setter 34 reduces the energy E in response to the torque τ developed by the torque generator 31 while increasing the energy E in response to the angle θ detected by the angle detector 32. A lactic acid level setter 35 increases the lactic acid L in response to the energy E that is consumed (reduced) in response to the torque τ developed by the torque generator 31 while reducing the lactic acid L with a predetermined period. The autonomous controller 36 is notified of the current level of the energy E.

A predictor learner 41 in the autonomous controller 36 acquires differential equations (1) to be discussed later, by learning each of variables (θ, ω, E, L, τ), and outputs the differential equations (1) to each of a variable group generator 42, a behavior variable determiner 43, and a state variable determiner 44. The variable group generator 42 groups variables that serve as a cause to each other, from among the variables (θ, ω, E, L, τ) in accordance with the differential equations (1) acquired by the predictor learner 41, and outputs the resulting variable groups to the behavior variable determiner 43 and the state variable determiner 44. The behavior variable determiner 43 determines a behavior variable corresponding to each variable group in accordance with the differential equations (1) acquired by the predictor learner 41 and the variable group input by the variable group generator 42. The state variable determiner 44 determines a state variable corresponding to each variable group in accordance with the differential equations (1) acquired by the predictor learner 41, the variable group input by the variable group generator 42, and the behavior variable determined by the behavior variable determiner 43. The state variable determiner 44 then outputs the state variable together with the behavior variable to a layering unit 45. The layering unit 45 generates a controller corresponding to a combination of the variable group and the behavior variable, in accordance with the behavior variable and the state variable of the variable group, and layers the generated controller.

The differential equations (1) are applied a dynamic model of the autonomous agent 1. However, a specific content of each function f is not discussed herein. {dot over (θ)}=f _(θ)(θ, ω, τ) {dot over (ω)}=f _(ω)(θ, ω, τ) {dot over (E)}=f _(E)(θ, τ) {dot over (L)}=f _(L)(τ)   (1)

The dynamic model of the autonomous agent 1 can also be expressed by difference equations (2) using current time t, and infinitesimal time Δt: θ_(t+Δt)−θ_(t) =f _(θ)(θ_(t), ω_(t), τ_(t)) ω_(t+Δt)−ω_(t) =f _(ω)(θ_(t), ω_(t), τ_(t)) E _(t+Δt) −E _(t) =f _(E)(θ_(t), τ) L _(t+Δt) −L _(t) =f _(L)(τ_(t))   (2)

FIG. 4 illustrates the dynamic model of the autonomous agent 1 represented in causal diagram.

The difference equations (2) are more practical than the differential equations (1) in view of computerization. For simplicity of explanation, the differential equations (1) are considered herein. The differential equations (1) may be replaced with the difference equations (2) in the following discussion. A function f contained in the differential equations (1) is referred to as a “predictor” as appropriate.

The predictor learner 41 restores approximately the difference equation with the difference equations (2) of the dynamic model and the causal diagram unknown. This process includes a first process (restoration of the causal diagram) for finding a qualitative causal relationship of the variables and a second process (restoration of the function f) for learning approximately a quantitative causal relationship subsequent to the first process. Information obtained as a clue is time-series values of all variables (θ, ω, E, L, τ).

The first process corresponds to determining a cause of a motion of an object when a human predicts the motion of the object. In prediction, the human picks up some events from a numerous number of events in the world, and understands (finds) the cause of the object. Information to be used then is time-series information of events (variables) obtained through observing an environment.

Since information relating to the causal relationship is not used in known machine learning, all variables are handled as inputs to a predictor as represented in equation (3): {dot over (θ)}=f _(θ)(θ, ω, E, L, τ) {dot over (ω)}=f _(ω)(θ, ω, E, L, τ) {dot over (E)}=f _(E)(θ, ω, E, L, τ) {dot over (L)}=f _(L)(θ, ω, E, L, τ)   (3)

If the above-described known method is used, the number of training samples (time-series values of variables) required for learning increases as the number of variables increases. As a result, a state that makes learning difficult in practice results (this state is referred to as “curse of dimensionality”).

The predictor learner 41 thus selectively discards variables of the function f. In one method, combinations of variables as inputs are generated as a plurality of hypotheses, and a hypothesis having a minimum predictive error is selected. For example, a function f_(θ) of a hypothesis predicting an angle θ is represented by equations (4): {dot over (θ)}=f _(θ)(·) {dot over (θ)}=f _(θ)(θ) {dot over (θ)}=f _(θ)(θ, ω) {dot over (θ)}=f _(θ)(θ, ω, τ) {dot over (θ)}=f _(θ)(θ, ω, E, L) {dot over (θ)}=f _(θ)(θ, ω, E, L, τ)   (4)

Equations (4) are part of functions θ of the contemplated hypotheses.

If all combinations from function f_(θ)(·) with no input variable at all incorporated to function f_(θ)(θ, ω, E, L, τ) with all variables incorporated are summed up, 121 (=5×4×3×2+1) combinations are possible with the number of variables being 5. With this arrangement, the number of combinations explosively increases as the number of variables increases. An upper limit should be imposed on the number of combinations.

In the second process, after a function f as a hypothesis is determined, function approximation is performed with the same training sample (time-series information of the events (variables) obtained through observing an environment) applied to the function f as the hypothesis.

Any method may be used in function approximation. Learning herein is performed using support vector regression (SVR). The SVR guarantees that a global solution is usually obtained, and is more reliably used than a neural network error back propagation method widely used.

The structure of the function f is determined on a per hypothesis basis in learning using SVR. How good prediction each hypothesis performs is evaluated based on an evaluation sample different from the training sample. This method is used to determine a generalization error corresponding to prediction performance, and referred to as “cross validation”. Although any other evaluation criteria may be used, the evaluation method must determine generalization error rather than training error. When a hypothesis providing the best evaluation is selected, equations (1) are obtained if learning has been successful.

Approximate learning of the dynamic model is performed using the above-referenced process. As described below, information (relating to causal relationship) indicating that prediction is possible with which variable is set to any variable as a cause variable is important.

For example, changing the value of one variable to any predetermined value is now desired. If no direct intervention to that variable is possible, an indirect intervention to a variable other than that variable is contemplated. For example, one cannot move a position of an object (a chair, for example) by thinking only, but can constrict muscles of one's own. By directly constricting muscles, one can control one's own body, thereby changing the position of the object after all.

The autonomous agent 1 is considered. The autonomous agent 1 cannot directly increase the energy E even if the energy E is reduced. In contrast, torque τ is a variable directly manipulable. The energy E can be indirectly increased by manipulating the torque τ. A functional module operating using the causal relationship between variables is hereinafter referred to as a “controller.”

As the predictor, the controller is represented by a function. Let “x” represent a variable to be controlled, “s” represent a state variable, and “a” represent a variable used in intervention (behavior variable), and the controller (function) g_(x) is expressed by equation (5): a=g _(x)(x, s)   (5)

In equation (5), “x”, “s”, and “a”, representing variables, are sets of variables in practice, and may be interpreted as vectors. More specifically, “x” is a vector having at least one element, “s” is a vector having at least zero element, and “a” is a vector having at least one element. If the number of element is zero, no variable is used. If the number of element is one, a single variable is used (namely, a scalar quantity).

To produce a controller controlling a predetermined variable, it is necessary to assign “x”, “s”, and “a” to respective variables. If “x”, “s”, and “a” are assigned to all variables without consideration, the “curse of dimensionality” problem may arise again.

If a plurality of variables are mutually cause variables to each other, it is considered that these variables essentially express a single event. In such a case, even if an attempt is made to vary any single variable from among the plurality of variables, that attempt may fail. It is necessary to control variables mutually being a cause variable to each other in a group. A set of variables mutually being a cause variable to each other is hereinafter referred to as a variable group. A variable group x_(n) (n=1, 2, . . . , N) is generated using an algorithm of FIG. 5. Variables being not a cause variable to each other may be respectively regarded as a variable group composed of a single variable.

In the above-described autonomous agent 1, the angle θ and the angular velocity ω are mutually cause variables. For this reason, if an attempt is made to control the angle θ only or the angular velocity ω only, a controller performing successfully a control process cannot be learned. The angle θ and the angular velocity ω are handled as a single variable group and a controller θω that simultaneously controls the angle θ and the angular velocity ω needs to be considered.

By grouping the variables, a variable x to be controlled is determined from among the above-described “x”, “s”, and “a”. In the autonomous agent 1, three control variable groups X₁, X₂, and X₃ represented by the following equations (6) are determined. X₁={θ, ω} X₂={E} X₃={L}  (6)

FIG. 6 is a causal diagram of the variables subsequent to grouping.

A controller is constructed to each variable group after determining the variable group to be controlled. A behavior variable serving as an output of the controller g_(x) is considered. A variable that can be a behavior variable is only a controllable variable. Controllable variables are divided into two types. One type includes innate behavior variables to be controllable through direct intervention. The other type includes variables that become controllable through learning of the controller.

There is freedom remains as to which combination to select from the behavior variables as candidate. Combinations of all variables are concurrently generated as hypotheses. All combinations are learned, and any of the combinations is freely selected and used during an actual behavior. This operation is apparently redundant and unnecessary freedom, but may be considered as a useful freedom, because behavior selection in planning algorithm A* is interpreted as selection of hypothesis of the controller.

More specifically, the cause variable of variables to be controlled belonging to each variable group is acquired from a learned predictor to generate a cause variable set. A variable to be controlled is excluded from the cause variable set, and a variable remaining in the cause variable set is set as a behavior variable. If the behavior variable belongs to the variable group, all variables belonging to the variable group are set to be behavior variables.

For example, as for a variable group {θ, ω}, cause variables {θ, ω, τ} of a variable θ belonging to the variable group and cause variables {θ, ω, τ} of a variable ω to be controlled are acquired, and a cause variable set {θ, ω, τ} is generated. The variables θ and ω are removed from the cause variable set {θ, ω, τ}, and the remaining variable τ is a behavior variable.

As for a variable group {E}, cause variables {θ, τ} of a variable E belonging to the variable group are acquired, and a cause variable set {θ, τ} is generated. The variable E to be controlled is excluded from the cause variable set {θ, τ} (although the variable E to be controlled is not contained in the cause variable set {θ, τ}), and the remaining variables θ and τ become behavior variables. Since the variable θ belongs to the variable group {θ, ω}, the variable group {θ, ω} becomes the behavior variables.

As for a variable group {L}, the cause variable τ of a variable L to be controlled belonging to the variable group is acquired, and a cause variable set {τ} is generated. The variable L to be controlled is excluded from the cause variable set {τ} (although the variable L to be controlled is not contained in the cause variable set {τ} in practice), and the remaining τ becomes a behavior variable.

FIG. 7 illustrates the above-referenced autonomous agent 1.

Subsequent to the determination of the behavior variable of the variable group to be controlled, a state variable corresponding to the behavior variable is determined. More specifically, variables obtained by subtracting directly intervenable behavior variables from the cause variable group are state variables. If a state variable belongs to a variable group, all variables belonging to the variable group are set to be state variables.

FIG. 8 illustrates the state variable of the autonomous agent 1.

The controllers are represented by the following equations (7). Equations (7) employ a format in which a subscript of the function g of the controller includes a variable to be controlled and a behavior variable with a comma interposed therebetween for delimitation. For example, the θω controller having torque τ as a behavior variable is represented by g_(θω, τ), the E controller having an angle θ and an angular velocity ω is represented by g_(E, θω). Each variable with a subscript d is a goal variable rather than a variable representing an observed value. Since control is performed through indirect intervention, the variable with the subscript d represents a goal value. However, since τ_(d) is a directly intervenable behavior variable, τ_(d) can be regarded as τ. $\begin{matrix} {{\tau_{d} = {g_{{\theta\quad\omega},\tau}\left( {\begin{pmatrix} \theta_{d} \\ \omega_{d} \end{pmatrix},\begin{pmatrix} \theta \\ \omega \end{pmatrix}} \right)}}{\begin{pmatrix} \theta_{d} \\ \omega_{d} \end{pmatrix} = {g_{E,{\theta\quad\omega}}\left( {E_{d},\begin{pmatrix} \theta \\ \omega \end{pmatrix}} \right)}}{\tau_{d} = {g_{E,\tau}\left( {E_{d},\begin{pmatrix} \theta \\ \omega \end{pmatrix}} \right)}}{\tau_{d} = {g_{L,\tau}\left( L_{d} \right)}}} & (7) \end{matrix}$

Left-hand sides of equations (7) represent behavior variables, and are goal values at a hierarchically lower layer in view of layering. If this concept is used to arrange input and output variables of the controller, variables to be controlled and behavior variables of a plurality of controllers g are linked. As a whole, the controllers g are layered. More specifically, behavior variables at a hierarchically higher layer is a variable to be controlled at a hierarchically lower layer.

The process of the autonomous controller 36 described above is organized with reference to a flowchart of FIG. 10. In step S1, the predictor learner 41 acquires the differential equations (1) through learning each of the variables (θ, ω, E, L, τ), and outputs the differential equations (1) to each of the variable group generator 42, the behavior variable determiner 43, and the state variable determiner 44. In step S2, in accordance with the differential equations (1) acquired by the predictor learner 41, the variable group generator 42 groups variables, mutually cause variables to each other, from among the variables (θ, ω, E, L, τ), and outputs the variable group to each of the behavior variable determiner 43 and the state variable determiner 44. In step S3, the behavior variable determiner 43 determines behavior variables in response to the differential equations (1) acquired by the predictor learner 41 and the variable groups determined by the variable group generator 42, and outputs the behavior variable to the state variable determiner 44.

The process in step S3 is described below in more detail with reference to FIG. 11. In step S31, the behavior variable determiner 43 acquires the cause variable of the variable to be controlled belonging to the variable group, and generates the cause variable set. In step S32, the behavior variable determiner 43 excludes, from the cause variable set, the variable to be controlled. In step S33, the behavior variable determiner 43 determines the variables remaining in the cause variable set as the behavior variables. If the behavior variable belongs to the variable group, all variables belonging to the variable group are determined as being the behavior variables.

Returning now back to FIG. 10, in step S4, the state variable determiner 44 determines a state variable corresponding to each variable group based on the differential equations (1) acquired by the predictor learner 41, the variable groups determined by the variable group generator 42, and the behavior variables determined by the behavior variable determiner 43. The state variable determiner 44 outputs the state variable together with the behavior variable to the layering unit 45. In step S5, the layering unit 45 generates a controller corresponding to a combination of the variable group and the behavior variable in accordance with the behavior variable and the state variable of the variable group, and layers the generated controllers. The process of the autonomous controller 36 has been discussed.

If the method of the embodiment of the present invention is not used, the controller is represented by equations (8). The controller is illustrated in FIG. 12. $\begin{matrix} {{\tau_{d} = {g_{{\theta\quad\omega},\tau}\left( {\begin{pmatrix} \theta_{d} \\ \omega_{d} \end{pmatrix},\theta,\omega,E,L} \right)}}{\tau_{d} = {g_{E,\tau}\left( {E_{d},\theta,\omega,E,L} \right)}}{\tau_{d} = {g_{L,\tau}\left( {L_{d},\theta,\omega,E,L} \right)}}} & (8) \end{matrix}$

The behavior variable of each controller is limited to torque τ which is directly intervenable. The state variables cannot be identified as to which variable is unnecessary. As a result, all variables are used. In this case, the variables to be controlled are grouped into three variable groups of {θ, ω}, E and L based on the assumption that engineers has designed the variables to be controlled.

In comparison of equations (7) with equations (8), the number of input variables per function in equations (7) is smaller than the number of variables per function in equations (8). The number of variables increases as the autonomous agent 1 becomes complex in structure and enhanced in performance, and learning of equations (8) is thus expected to be difficult because of the “curse of dimensionality”.

In contrast, with the embodiment of the present invention, the number of inputs to the controller is not increased as long as the causal relationship estimated by the predictor is disperse. In a typical practice, to avoid such a problem, humans design the input and output of the controller by determining the relationship.

The features of the present invention are listed below.

The autonomous agent composed of a plurality of functional modules estimates a causal relationship among the variables including a sensor, an internal state, and a motor. The causal relationship refers to information that identifies which value needs to be referenced (in the determination of a cause) to predict a future value of a predetermined variable (in the determination of an effect). The relationship between the cause and effect is represented by a 1 to n (n is an integer equal to 0 or larger) map.

The autonomous learning agent automatically determines an combination method of the number of functional modules and functions assigned to the functional modules using the automatically estimated causal relationship.

The functional module is also referred to as a controller, and has a function to vary the values of the variables, such as the sensor and the internal state, to goal values (or goal time-series values). The controller is a function having multiple inputs and outputs.

If a plurality of variables are cause variable to each other, that plurality of variables is regarded as a variable group (vector) representing a combined and inseparable state. The variable group is further generalized. More specifically, the variable group contains a plurality of variables and even a single variable that has not been grouped is also referred to as a variable group.

The number of and the functions of controllers are automatically determined. More specifically, the controllers of the number equal to the number of variable groups are generated. The functions of the controllers are to vary the value of each variable group to a requested value.

The output of the controller (another variable to be varied to control the variable to be controlled) is automatically determined. More specifically, the variable as the cause of the variable to be controlled is set to be as the output of the controller in the causal relationship of the variables.

The input of the controller (another variable needed to be referenced to control the variable to be controlled) is automatically determined. More specifically, the variable as the cause for the variable to be controlled and the variable representing the goal value are set to be inputs to the controller in the causal relationship of the variables.

To determine whether the future value of one variable (effect variable) can be predicted using another variable (0 or more), a combination of a plurality of input variables (cause variables) is assumed, and then learned. The cause variable and effect variable are identified using a hypothesis providing a minimum predictive error.

Each predictor is present on a per variable basis. A single predictor receives a plurality of input variables as a variable of a current state, and predicts another variable value as a future state.

In the known machine learning, a human as a designer designs a relationship between the functional modules in a machine taking into consideration a problem the human wants the machine to learn. Without this process, the machine cannot solve the problem in practice. With the embodiments of the present invention, the human is freed from this process. More specifically, problem setting, which is an indispensable function to an open-ended autonomous robot, is automatically performed.

In accordance with the embodiments of the present invention, the functions are divided among the controllers according to the meaning of the variable group. The controllers can thus learn independently of each other. Additional learning on a per function basis is possible without destroying another function. Without human intervention, a new behavior is acquired without destroying behaviors acquired in the past.

The present invention provides a clear solution to the “binding problem of the brain” left unresolved, namely, a problem of a connectivity rule among functional modules.

The present invention provides a simple but important basis for automatically solving the problem of the “curse of dimensionality”, which is a serious problem in many fields.

The series of process steps of the above-described autonomous controller 36 can be performed in hardware or software. If the series of process steps is performed in software, a program forming the software can be installed from a recording medium to a computer built in dedicated hardware or a general-purpose personal computer 60 of FIG. 13 that performs a variety of functions when a variety of programs are installed thereon.

The personal computer 60 includes a central processing unit (CPU) 61. The CPU 61 connects to an input and output interface 65 via a bus 64. The bus 64 connects to a read-only memory (ROM) 62 and a random-access memory (RAM) 63.

The input and output interface 64 connects to an input unit 66 including input devices, such as a keyboard receiving an operational command from a user, and a mouse, an output unit 67 including displays such as a cathode ray tube and a liquid-crystal display (LCD) displaying a video signal, a storage unit 68 including a hard disk drive storing programs and a variety of data, and a communication unit 69, including a modem, a local-area network (LAN) adaptor, etc. performing a communication process with a network such as the Internet. A drive 70 connects to a storage medium 71 including one of a magnetic disk (flexible disk), an optical disk (such as compact disk read only memory (CD-ROM), a digital versatile disk (DVD), or the like), a magneto-optical disk (such as Mini Disk (MD®)), and a semiconductor memory.

The program for causing the personal computer 60 to perform the above-described series of process steps is supplied in the storage medium 71 to the personal computer 60. The program is then read and installed onto a hard disk in the storage unit 68 by the drive 70. The program installed on the storage medium 68 is loaded onto the RAM 63 for execution in response to a command of the CPU 16 when a user enters a command to the input unit 66.

The process steps of the program are executed in the time-series order stated herein. Alternatively, the process steps may be executed in parallel or separately.

It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and alterations may occur depending on design requirements and other factors insofar as they are within the scope of the appended claims or the equivalents thereof. 

1. A learning control apparatus for an autonomous agent including a functional module having a function of multiple inputs and multiple outputs, the function receiving at least one variable and outputting at least one value, the learning control apparatus comprising: estimating means for estimating a causal relationship of at least one variable; grouping means for grouping the at least one variable into a variable group in accordance with the estimated causal relationship; first determining means for determining a behavior variable corresponding to each of the variable groups; and layering means for layering, in accordance with the variable group and the behavior variable, the function corresponding to each variable group, the function receiving the variable grouped into the variable group and outputting the behavior variable.
 2. The learning control apparatus according to claim 1, further comprising second determining means for determining a state variable corresponding to each variable group.
 3. A learning control method for an autonomous agent including a functional module having a function of multiple inputs and multiple outputs, the function receiving at least one variable and outputting at least one value, the learning control method comprising steps of: estimating a causal relationship of at least one variable; grouping the at least one variable into a variable group in accordance with the estimated causal relationship; determining a behavior variable corresponding to each of the variable groups; and layering, in accordance with the variable group and the behavior variable, the function corresponding to each variable group, the function receiving the variable grouped into the variable group and outputting the behavior variable.
 4. A computer program for causing a computer to control learning of an autonomous agent including a functional module having a function of multiple inputs and multiple outputs, the function receiving at least one variable and outputting at least one value, the computer program comprising steps of: estimating a causal relationship of at least one variable; grouping the at least one variable into a variable group in accordance with the estimated causal relationship; determining a behavior variable corresponding to each of the variable groups; and layering, in accordance with the variable group and the behavior variable, the function corresponding to each variable group, the function receiving the variable grouped into the variable group and outputting the behavior variable.
 5. A learning control apparatus for an autonomous agent including a functional module having a function of multiple inputs and multiple outputs, the function receiving at least one variable and outputting at least one value, the learning control apparatus comprising: an estimating unit estimating a causal relationship of at least one variable; a grouping unit grouping the at least one variable into a variable group in accordance with the estimated causal relationship; a determining unit determining a behavior variable corresponding to each of the variable groups; and a layering unit layering, in accordance with the variable group and the behavior variable, the function corresponding to each variable group, the function receiving the variable grouped into the variable group and outputting the behavior variable. 